<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>预解析</title>
</head>
<body>
    

    <script>

        // js变量提升-预解析   js特有

         /*
		js预解析?
		前提:对作用域有清晰的理解
		在当前的作用域下,js代码的运行之前,先把带有var和function关键字实现申明,并在内存中安排好(var 定义的变量预设为undefined,
		function设为函数字符串),然后在从上至下的执行代码.
		
		js对什么进行预解析?  先使用  后定义 
		1:var 定义的变量
		2:function
		3:函数传参的变量(形参)
		
        */

       
        console.log(a);
        
        
        function a() {
            console.log("hello");    
        }
        var a = 100;

        

    </script>
</body>
</html>